Lab 02 - System kontroli wersji - Git
System kontroli wersji - Git
Wprowadzenie do kontroli wersji
System kontroli wersji służy do śledzenia zmian dokonywanych w pliku (lub plikach) i umożliwia powrót do dowolnego wcześniejszego stanu. Jest to powszechnie wykorzystywane narzędzie w projektach programistycznych chociaż objęcie kontroli wersji jest możliwe dla dowolnego typu pliku na komputerze.
Jeśli interesujesz się grafiką lub projektowaniem stron WWW i chcesz zachować każdą wersję pliku graficznego lub układu witryny WWW (co wydaje się być rozsądnym pomysłem), to zastosowanie systemu kontroli wersji jest odpowiednim do tego narzędziem. Pozwala ono na: * przywracanie pliku (lub plików) do wcześniejszej wersji, * odtwarzanie stanu całego projektu, * porównywanie wprowadzonych zmian (nawet gdy jeden plik edytowało wiele osób), * pozyskanie informacji o tym kto i kiedy wprowadził daną modyfikację.
Najpowszechniej rozdystrybuowanym systemem kontroli wersji jest
Git a tworzone w jego ramach projekty to
repozytoria. Popularna witryna GitHub stanowi sieciowy
hosting dla repozytoriów Gita.
Interaktywne wprowadzenie do Gita

Aby rozpocząć pracę z Gitem zapoznaj się z interaktywnym
poradnikiem dostępnym na stronie learngitbranching. Opisane
są w nim najważniejsze koncepty, które również są przedstawione w
intuicyjnej, graficznej formie.
🛠🔥 Zadanie 1 🛠🔥
Rozwiąż cztery pierwsze zadania z działu Główne: Wprowadzenie na stronie learngitbranching:
- Wprowadzenie do commitów Gita
- Rozgałęzienia w Gicie
- Merge w Gicie
- Wprowadzenie do Rebase
oraz kolejne siedem z działu Push & Pull – Zdalne repozytoria:
- Wstęp do klonowania (clone)
- Zdalne gałęzie
- Git fetch
- Git pull
- Symulacja pracy zespołowej
- Git push
- Rozbieżna historia
Ćwiczenia hands-on Git
🛠🔥 Zadanie 2 🛠🔥
Utwórz konto na GitHub. Postaraj się użyć
rozsądnej nazwy użytkownika, gdyż często repozytoria stanowią swojego
rodzaju portfolia dla przyszłych pracodawcow. Postanów umieszczać
tworzony kod na repozytoria Gita już dziś - z czasem
stosowanie kontroli wersji stanie się to dobrym nawykiem i będziesz już
dysponował pewną historią “kodowania”.
🛠🔥 Zadanie 3 🛠🔥
Utwórz nowe repozytorium za pomocą strony GitHub o nazwie np.
hello-git. Wypełnij pole opisu (np. Przykładowe repozytorium do
nauki obsługi gita), zaznacz chęć utworzeniu pliku README i
wybierz licencję dla swojego
projektu (np. MIT).
🛠🔥 Zadanie 4 🛠🔥
Otwórz terminal poleceń i skonfiguruj ustawienia Gita
dla swojego użytkownika:
git config --global user.name "Nazwa uzytkownika Gita"
git config --global user.email "Adres e-mail uzytkownika Gita"Wyświetl zapisane ustawienia komendą:
git config -l🛠🔥 Zadanie 5 🛠🔥
Sklonuj na swój komputer utworzone repozytorium z
githuba komendą git clone adres_www.
🛠🔥 Zadanie 6 🛠🔥
Utwórz dowolny plik tekstowy i wgraj go na swoje repozytorium
Gita. Wykorzystaj następujące komendy w poniższej
kolejności:
| Polecenie | Funkcja |
|---|---|
git status (Opcjonalnie) |
Powoduje wyświetlenie aktualnego stanu repozytorium, które pobrano na kompute |
git add -A |
Komenda git add pozwala na podzielenie dokonanych zmian
na różne commity, natomiast argument -A powoduje
uwzględnienie wszystkich zmian jednocześnie. Zwróć uwagę, że
interaktywne wprowadzenie, które rozwiązałeś pomijało tę komendę
(zakładano commitowanie wszystkich zmian na raz). |
git commit -m "Krotki opis wprowadzonych zmian" |
Dodaje do historii repozytorium wprowadzone zmiany |
git push |
Powoduje zaktualizowanie repozytorium zdalnego |
Zaobserwuj efekt na Githubie, zapoznaj się z interfejsem
użytkownika repozytorium.
🛠🔥 Zadanie 7 🛠🔥
Kod zawierający informacje o autorze, zależnościach w projekcie,
sposobie instalacji i uruchamiania jest prościej wykorzystać. Takie
informacje standardowo umieszcza się w pliku README.md.
Język jakim posługujemy się do tworzenia takich plików jest
Markdown. Korzystając z informacji
o składni postaraj się wyedytować plik README.md
uzyskując poniższy efekt. Wykorzystaj do tego edytor w przeglądarce na
stronie Github. 
🛠🔥 Zadanie 8 🛠🔥
Wywołaj komendę cat na lokalnym pliku
README.md, aby wyświetlić jego zawartość. Dlaczego plik nie
zawiera wprowadzonych zmian? Zaktualizuj lokalną wersję repozytorium
korzystając z komendy git pull.
🛠🔥 Zadanie 9 🛠🔥
Projekty, w których będziesz brał udział w przyszłości najczęściej
będą tworzone zespołowo. Wiele repozytoriów jest również open-source,
czyli może mieć wpływ na znajdujący się w nich kod. W tym zadaniu
zaproponujemy zmianę w repozytorium prowadzącego: 1. Otwórz wskazane
repozytorium w przeglądarce. 2. Przejdź do zakładki Issues
i dodaj je w następującym formacie:
username:
NazwaUzytkownikaGita
W taki sposób prowadzący doda Cię jako współdewelopera projektu.
- Sklonuj repozytorium prowadzącego.
(
git clone adres_www) - Stwórz własną gałąź w repozytorium nazywając ją swoją nazwą
użytkownika. (
git branch NazwaGalezi). Uwaga! Możesz wykonać polecenie 4 i 5 jedną komendą dodając argument (git checkout -b NazwaGalezi). - Zmień aktualną gałąź na nowo-utworzoną
(
git checkout NazwaGalezi). - Stwórz nowy katalog (nazwij go swoją nazwą użytkownika), a w tym
katalogu plik tekstowy (nazwij go swoimi inicjałami
.txt) i wklej do niego przykładowy tekst (United we stand, divided we fall!). - Wgraj gałąź na serwer.
(
git push -u origin NazwaGalezi). Argument-upowoduje, że zmiany w nowo-utworzonej lokalnie gałęzi będą śledzone w stosunku do zmian w repozytorium zdalnym. - Korzystając z interfejsu użytkownika
Githubautwórz pull request utworzonej gałęzi do gałęzi głównej.
🛠🔥 Zadanie domowe 🛠🔥
Znajdź odpowiedź na pytanie - jaki jest cel pliku
.gitignore?